Universal serial bus device

ABSTRACT

A Universal Serial Bus (USB) flash drive comprising a controller including a USB interface and a nonvolatile computer readable medium interface. The USB flash drive may also comprise a nonvolatile computer readable medium in communication with the nonvolatile computer readable medium interface and storing data and a USB connector in communication with the USB interface. The USB flash drive may also comprise a transmitter for transmitting at least a portion of data from the nonvolatile computer readable medium to an external device external to the USB flash drive. The transmitter may be substantially simultaneously operable with the USB connector, may send a modulated data signal, and/or may send the at least portion data in a compressed format.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to and is a continuation of U.S. patentapplication Ser. No. 10/951,547, filed Sep. 28, 2004, which isincorporated herein by reference.

TECHNICAL FIELD

The present application relates to a peripheral device, and morespecifically, to a universal serial bus device.

BACKGROUND

A Universal Serial Bus (“USB”) is an external bus that supports plug andplay installation. Using a USB port of a computer system, a user mayconnect and disconnect devices without shutting down or restarting thecomputer. A single USB port may connect multiple peripheral devices,including speakers, telephones, CD-ROM drives, joysticks, tape drives,keyboards, scanners, memory drives, and cameras, such as through daisychaining the peripheral devices into one port of the computer system.USB flash drives and other USB compatible devices are described furtherin the Universal Serial Bus Specification available athttp://www.usb.org/developers/devclass_docs/usbmass-ufi10.pdf.

Flash memory is a type of nonvolatile computer readable medium, similarto EEPROM memory in function, but may be erased in blocks. Because ofits block-oriented nature, flash memory is typically used as asupplement to or replacement for hard disks in portable computers. Inthis context, flash memory is typically built into the unit, availableas a PC Card that can be plugged into a PCMCIA slot, or available as aUSB device compatible with a USB port.

SUMMARY

The following presents a simplified summary of the disclosure in orderto provide a basic understanding to the reader. This summary is not anexhaustive or limiting overview of the disclosure. The summary is notprovided to identify key and/or critical elements of the invention,delineate the scope of the invention, or limit the scope of theinvention in any way. Its sole purpose is to present some of theconcepts disclosed in a simplified form, as an introduction to the moredetailed description that is presented later.

USB flash drives are typically used to store data in a nonvolatilecomputer readable medium when it is physically connected to a USB portof a computer system. Since a USB flash drive is portable, e.g.,removable from the computer system USB port, a USB flash drive maytransfer data to another computer system when it is attached to the USBport of another computer system. However, not all devices have a USBport. To transfer stored data to an external device not compatible withthe USB protocol, the USB flash drive may include a transmitter capableof transmitting data from the USB flash drive directly to an externaldevice.

USB flash drives may also include a computer readable medium partitionedinto public and private partitions. The public partition may beaccessible through normal channels of access. However in some cases, theprivate partition may be accessed only through authentication of acredential provided by the user or computer system. Only users orsystems providing a valid credential may access data stored in theprivate partition. The credential may be received by a decisioncomponent of the USB flash drive to authenticate the credential andallow access to the private partition.

Prior art USB devices generally rely on power derived through thephysical connection of the USB connector to the USB port of a computersystem. In this manner, USB devices rely on the USB port connection toprovide power and function to the components within the USB device. Toallow a USB device to function, such as to transfer data, apart from anintervening computer system, the USB device may include a power supply,independent of the USB connector, to provide power to one or morecomponents of the USB device.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a schematic illustration of an example USB flash drive in oneembodiment;

FIG. 2 is a flow chart of an example method of transmitting data usingthe USB flash drive of FIG. 1 in one embodiment;

FIG. 3 is a flow chart of an example method implementing credentialauthentication in one embodiment;

FIG. 4 is a schematic illustration of an example USB flash drive in oneembodiment;

FIG. 5 is a schematic illustration of another example USB flash drive inone embodiment;

FIG. 6 is a schematic illustration of an example USB device in oneembodiment; and

FIG. 7 is a schematic illustration of another example USB device in oneembodiment.

DETAILED DESCRIPTION

FIG. 1 illustrates an example USB flash drive 100. As shown in FIG. 1,the USB flash drive 100 may be connected to a host computer system 102through a physical connection of the USB connector 106 of the flashdrive 100 into the USB port 104 of the host computer system 102. The USBconnector 106 may be any suitable USB connector including a Type A USBconnector, a Type B USB connector, and a mini-USB connector. As shown inFIG. 1, the USB connector 106 may be in communication with a USBinterface 108 of a controller 110. The USB flash drive 100 may include anonvolatile computer readable medium 112 which may include one or moreflash memories 114, 116, which may be controlled by the controller 110through the nonvolatile computer readable medium interface 118. Thecontroller 110 may also access appropriate firmware 120 such as anoperating system to control the operation and function of the USBconnector and the nonvolatile computer readable medium. The controller110 may be any suitable controller including a processor, a specialpurpose state device, or any other appropriate controller.

In the prior art, a computer system could access the data stored in thenonvolatile medium 112 through a physical connection and communicationbetween a host system USB port 104 and the USB connector 106 of theflash drive 100. However, a user may desire to transfer data to anotherdevice while the flash drive is connected to the host computer systemand/or to transfer data to devices without a USB port. Accordingly, theflash drive 100 may include a transmitter 122 controlled by thecontroller 100 as shown in FIG. 1. The transmitter may be any suitablecomponent for transmitting data from the computer readable medium 112 toan external device 150. In one example, the transmitter 122 may besubstantially operable with the USB connector 106, such as informationmay be transmitted by the transmitter while the USB connector isconnected to the USB port of the host computer 102.

The transmitter may transmit compressed data. For example, the data fromthe computer readable medium 112 may be stored in a compressed formatand/or compressed by the controller, e.g., compressed by any suitablemethod to decrease the amount of memory and/or bandwidth. Compresseddata may be expanded by any suitable method to allow the data to be usedand/or accessed for its intended purpose or function.

The transmitter may transmit a modulated data signal and/or may transmitthe data wirelessly, e.g., without a direct physical connection betweenthe USB flash drive and the external device 150. The transmitter maydirectly transmit data. As used herein, ‘directly transmitting’ meansthat the data is transmitted from the USB flash drive 100 to anotherdevice 150 without any intervening host computer system and withoutperipheral communication wires, e.g., wireless communications. Forexample, a suitable direct transmitter 122 may include a USB portsuitable for accepting a USB connector of another device. In thismanner, data may be transferred directly from the USB flash drive to theexternal device, without any intervention by the host computer system102 connected to the USB connector 106 of the flash drive 100. Inanother example of direct transmission, the transmitter 122 may send amodulated data signal with the data encoded onto the modulated datasignal. In one example, the transmitter may include a frequencytransmitter such as an infrared transmitter similar to those used onsmall form computing devices including personal digital assistantcomputing devices and cellular telephones. Other suitable frequencytransmitters may support radio frequency, acoustic, ultraviolet,optical, and the like. Other transmitter types may be suitable includingmagnetic field data transmitters and any other wireless media. Thetransmission of the data may be governed by any appropriate protocol,such as the Infrared Data Association (IrDA) standards, BlueToothprotocols, radio frequency identification protocols, and the like.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term ‘modulated data signal’ means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media. Combinations of any ofthe above should also be included within the scope of communicationmedia.

Transfer of data from the nonvolatile memory to the external device 150through the transmitter 122 may be initiated by any appropriate methodor device. In one example, the user may provide a transmissioninitiation indication through the host computer system to initiatetransmission of data to an external device. More particularly, a clientdriver (not shown) of the host computer system 102 may provide a dialog,menu, displayed button, or other appropriate user interface or selectorwhich allows a user to initiate transfer of data. The host computersystem may communicate the transmission initiation indication to the USBflash drive through the USB connection. In response to the transmissioninitiation indication, the transmitter may transmit data to the externaldevice.

In another example, transfer of data through the transmitter 122 may beinitiated through selection of one or more selectors 130 of the USBflash drive. For example, as shown in FIG. 1, the USB flash drive 100may include a transmission initiation selector 134, such as a button,selector wheel, and the like. Upon selection of the transmissioninitiation selector, the transmitter 122 may transmit all or a portionof the data stored in the computer readable medium 112 to the externaldevice 150. In another example, connection of the external device to thetransmitter may automatically initiate transmission. For example, if thetransmitter is a USB port described above, connection of a USB connectorinto the USB port of the USB flash drive 100 may initiate transmission.In some cases it may be suitable for each device, i.e., the USB flashdrive and the external device, to automatically exchange informationwhen attached such that transmission and reception of data isautomatically initiated. In other cases, it may suitable for the USBflash drive and/or external device to include a transmission directionselector such as an arrow, selector, switch, and the like to indicatethe data flow to be used if transmission is initiated. Moreparticularly, the USB flash drive 100 may include one or more selectors130, to indicate whether the USB flash drive is the ‘transmitter’ ofdata and/or the ‘receiver’ of data to/from the external device 150. Inother cases, a default device may be predetermined as the sender and/orreceiver of data. For example, the device having the USB connectorconnected to the USB port of another device may be considered the‘transmitter’ of data, and the device having the USB port connected tothe USB connector may be considered the ‘receiver’ of data. It is to beappreciated that other suitable default settings and/or selectors may beappropriate.

Any suitable method may be used to determine which portion of the datastored in the nonvolatile computer readable medium may be transmitted.For example, all of the data stored in the nonvolatile computer readablemedium 112 may be transmitted upon activation of the transmissioninitiation selector. In another example, the data portion to betransmitted may be predetermined or pre-set by the user and/or themanufacturer of the USB flash drive. For example, the user may indicatethe selected portion of data to be transmitted which may be stored in apredetermined partition of the computer readable medium and/or thelocation for data to be transmitted may be determinable by thecontroller 110. When transmission is initiated, the controller may sendto the transmitter 122 the predetermined portion of data.

In another example, a host device 102 may be connected to the USB flashdrive 100 through the physical USB connection, allowing a user to accessand/or determine the data portions, such as files, documents,executables, memory partitions, and other components available on thecomputer readable medium 112 of the USB flash drive. In this manner, thehost computer system may provide a user interface, such as a dialog,tabular display, and the like, allowing a user to select a particulardata portion to be transmitted.

In another example, the USB flash drive may provide a user interfaceallowing a user to select a portion of data to be transmitted. As shownin FIG. 1, the USB flash drive 100 may include one or more selectors 130allowing a user to select a data portion. Each selector may beassociated with a particular data component (e.g., file, executable,data portion, and the like) and/or may be associated with a particularmemory partition. For example, the user may associate a particular datafile with a data indicator 138 which may be a button, wheel selector,alpha-numeric keys, or any other suitable selector of the USB flashdrive 100. More particularly, the USB flash drive may include analpha-numeric keypad, e.g., button ‘1’, button ‘2’, button ‘3’, andbutton ‘4’. The user may associate selected files and/or memorypartitions to particular alpha-numeric keys, e.g., file 1 may beassociated with button ‘1’, file 2 may be associated with button ‘2’,memory partition 3 may be associated with button ‘3’, and the like.Moreover, a selected data portion may be associated with a particularseries, combination, and/or timing of selector initiation. For example,a series selection of button ‘1’ and then button ‘2’ may be associatedwith a data portion. In another example, a combination of substantiallysimultaneous activation of button ‘1’ and button ‘2’ may be associatedwith a data portion. In another example, a timing sequence such aspressing button ‘1’ in a “shave and a haircut two bits” rhythm may beassociated with another data portion. In another example, a dataindicator 138 may be associated with a plurality of data portionsassociated in a sequence. In this manner, sequential activations of thedata indicator 138 may ‘scroll’ through the available data portions toindicate the selected data portion to be transmitted. More particularly,a single activation of the data indicator 138 may select a first dataportion, a double activation of the data indicator in a predeterminedamount of time may select a second data portion, and the like.Combinations of the above (series, combinations, timing, and the like)should be included within the scope of selecting a data indicator.

In another example, the user and/or flash drive manufacturer maypartition the non-volatile memory into one or more data partitions. Inthis manner, all data stored in the partition may be transmitted if thatparticular data partition is selected. It is to be appreciated that anyother suitable indication of the selected data portion may beappropriate.

In a specific example, a user may wish to transfer her wireless settingsto another user wishing to use the wireless network. Using her hostcomputer system, the user may select her wireless setting data partitionand activate the transmission initiation selector of the USB flash driveto transfer those settings to another user. Example methods oftransferring wireless setting data is further described in U.S.Application No. 60/534,795 filed Jan. 07, 2004; Ser. No. 10/807,095filed Mar. 23, 2004; and Ser. No. 10/866,336 filed Mar. 23, 2004, allassigned to Microsoft. Corp. and incorporated by reference herein. Inanother example, the user may associate a personal information data filewith a particular data indicator of the USB flash drive. In this manner,the user may active the data indicator in an appropriate manner (e.g.,sequence, combination, and/or timing) to select the personal informationdata file and then activate the transmission initiation selector totransmit the personal information, such as an Icard, to the externaldevice. In one example the transmission initiation selector 134 and thedata indicator selector 138 may be integrated into a single selector 136as shown in FIG. 1. In this manner, a user may indicate initiation oftransmission of a first data portion with a first activation of a firstdata select/transmit selector 136, and may indicate initiation oftransmission of a second data portion with a second activation of asecond data select/transmit selector 136.

One example method 200 of transmitting data from a USB flash device isillustrated in FIG. 2 with reference to the example USB flash drive ofFIG. 1. Initially, data is stored 210 in the nonvolatile computerreadable medium of the USB flash drive 100 shown in FIG. 1. The dataportion to be transmitted may be selected 212. For example, as notedabove with reference to FIG. 1, the user may select a data portion totransmit through a user interface of the host computer system 102,through a data indicator 138, and/or through one or more selectors 130.The data portion to be transmitted may be any portion or combination ofa memory partition and/or file, executable, and the like. The controllermay compress 214 the selected data portion. The controller and/ortransmitter may encode 216 the data portion onto a modulated datasignal. The user may then initiate 218 transmission of the selected dataportion, such as through a user interface of the host computer systemand/or through a transmission initiation selector 134 of the USB flashdrive 100. The transmitter may transmit 220 the data portion, and theexternal device may receive 222 the data portion.

To accept a data transmission from an external device 150, the USB flashdrive 100 may include a receiver 124 controlled by the controller 100 asshown in FIG. 1. The receiver may be any suitable component forreceiving data from the external device 150. The receiver 124 mayinclude a receiver of the same type as the transmitter, and may beintegrated as a transceiver. Alternatively, the receiver may be of adifferent type than the transmitter 122.

The receiver may receive compressed data. For example, the receiver mayreceive the transmitted data from the external device 150 in acompressed format e.g., compressed by any suitable method to decreasethe amount of memory and/or bandwidth. Compressed data may be expandedby the controller by any suitable method to allow the data to be usedand/or accessed for its intended purpose or function.

The receiver may receive a modulated data signal and/or may receive thedata wirelessly, e.g., without a direct physical connection between theUSB flash drive and the external device 150. The receiver may directlyreceive data. As used herein, ‘directly receiving’ means that the datais received from an external device other than a host 102 computersystem to the USB flash drive 100 without any intervening host computersystem and without peripheral communication wires. For example, asuitable receiver 124 may include a USB port of the USB flash drive 100suitable for accepting a USB connector of another device. In thismanner, data may be transferred directly from the external device to theUSB flash drive, without intervention by the host computer system 102connected to the USB connector 106 of the flash drive 100. In anotherexample of directly receiving, the receiver may wirelessly receive amodulated data signal with the data encoded onto the modulated datasignal. The wireless receiver may include an infrared receiver, a radiofrequency receiver, an acoustic receiver, an ultraviolet frequencyreceiver, an optical frequency receiver, a magnetic field data receiver,and any other wireless media receiver. The reception of the data may begoverned by any appropriate protocol, such as Infrared Data Association(IrDA) standards, BlueTooth protocols, radio frequency identificationprotocols, and the like.

As noted above, the nonvolatile computer readable medium 112 may bepartitioned into at least a first and second partition. In some cases,it may be suitable to protect information from public access, and assuch, one or more partitions may be indicated as public and one or moreother partitions may be indicated as private. As shown in FIG. 1, flashmemory 114 may be partitioned into a public partition 160 and a privateand protected partition 162. The public partition may be accessible astypical flash memory of a USB flash drive. However, the privatepartition may be hidden, e.g., not exposed, and/or encrypted to protectthe data stored in the private partition from unauthorized access.Accordingly, to access the data stored in the private partition, anauthentic credential must be presented. A credential may be any suitablecombination of a password, fingerprint, radio frequency identifier,written signature, voice signature, cryptographic key, retina, facialfeatures, physical key, and the like. The credential may be presented tothe USB device through any suitable method.

For example, the host computer 102 may present a user interface to theuser through a display of the host computer. In this manner, the usermay input a password through the keyboard of the host computer system,write a signature with a digital pen on a suitable tablet device, speakany word or a predetermined password into a microphone, and the like. Inanother example, the host computer system 102 shown in FIG. 1 mayautomatically provide a previously stored credential if provided by theuser to allow a user automatic access to the private partition when theUSB flash drive 100 is connected to a pre-approved host computer systemwith a stored credential.

In another example, the user may present the credential through one ormore selectors 130 of the USB flash drive 100, shown in FIG. 1. Similarto the various series, combinations, and/or timing of selectorsdiscussed above with reference to data portion selection, a user maypresent the credential to the USB flash drive 100 through apredetermined series, combination, and/or timing of activation of one ormore selectors 130. In another example, the USB flash drive may provideone or more key selectors 132 specifically adapted to receive acredential. In one example, the key selector 132 may include a biometricdevice such as a fingerprint sensor detecting a fingerprint of a fingerplaced proximate the biometric device or a retina sensor detecting aretina. In another example, the key selector 132 may include analpha-numeric key pad or any other suitable selector which may also beused to indicate a selected data portion.

The credential, after being received, may be authenticated in anysuitable manner such as by comparing the received credential with abasis credential. The basis credential may be pre-stored on a trustedhost computer system. Additionally and/or alternatively, the basiscredential may be stored on the USB flash drive 100. The basiscredential may be stored on the USB flash drive in any suitable manner,such as part of the firmware 120 and/or in the nonvolatile computerreadable medium 112, e.g., in the private partition 162.

A decision component may compare the received credential with the basiscredential and may be supported by any suitable computing device. Thedecision component 140 may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a processor. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Forexample, the decision component may be provided by a host computersystem 102 attached to the USB flash drive through the USB connector.The decision component may be part of the USB driver or any othercomponent supported by the host computer system. For example inoperation, the host computer system 102 may provide a user interface toaccept the credential input by the user and/or receive the credentialfrom the USB flash drive 100. The host computer system may communicatethe input credential to the decision component for authentication. Thedecision component may access the basis credential, stored in anysuitable manner, and compare the received credential with the storedbasis credential. Upon authentication of the credential, the hostcomputer system may provide a user interface to allow the user to accessthe data stored in the private partition.

Additionally and/or alternatively, the decision component may besupported by the USB flash drive 100. For example, as shown in FIG. 1,the USB flash drive may include a decision component 140 accessed by thecontroller 110. In this manner, the USB flash drive may authenticate thereceived credential. For example, the user may input a credential, suchas through one or more selectors 130 and/or received from the hostcomputer 102. The controller may communicate the received credential tothe decision component 140. In response to the received credential, thedecision component may access a stored basis credential and compare thebasis and received credentials. Upon authentication of the credential,the controller in communication with the decision component of the USBflash drive may allow access to the data stored in the private partitionof the nonvolatile computer readable medium. For example, the controllermay expose and/or decrypt the data stored in the private partition.

In some cases, the credential allowing access to the private partitionmay include completion of some action and/or operation by the user. Forexample, to access the private partition, the user may be required toreview and/or access a predetermined data file such as rules regardinguse of the information stored in the private partition, advertisements,and the like. More particularly, the user may be presented withadvertisements of products and/or services which are provided byadvertisers. The advertisement review may be required for credentialauthentication each time a credential is provided; at the beginning of atime period, e.g., daily, weekly, and the like; and/or the first time auser requests access to the private partition. The advertisements orother data may be stored on the USB flash drive as appropriate, such asin the firmware and/or the nonvolatile computer readable medium.

After the required action such as review of an advertisement iscompleted, the USB flash drive may delete the data providing theaction/operation as appropriate. For example, if the user is required toreview one or more advertisements only the first time the privatepartition is accessed, the USB flash drive may delete the advertisementfrom the nonvolatile computer readable medium or allow the user tooverwrite the memory location, to allow the user to use that memory fortheir directed purpose. Alternatively, the USB flash drive may ‘burn afuse’ to that portion of memory storing the data supporting the requiredaction. For example, memory can be read using a low voltage across aphysical bridge. The ‘read only’ bridge may be ‘broken’ or burned like afuse by applying a higher voltage. In another example, the controllerand its associated memory may include a virtual or physical switch whichmay be flipped to deny access to the memory location. In this manner, avirtual fuse, or access to the private partition, may be burned.

As noted above, a decision component, such as the decision component 140shown in FIG. 1, may attempt to authenticate the received credential. Ifthe decision component determines that the received credential is notauthentic, the USB flash drive may deny access to the private partitionof the computer readable medium. Access may be denied by maintaining thehidden and/or encrypted status of the data stored in the privatepartition. In some cases, the USB flash drive may not only deny access,but also remove access to the data of the private partition by ‘burninga fuse’ to the data as described above. After the fuse is burned, a usermay not access the data in the private partition, even if an authenticcredential is subsequently provided to the USB flash drive; however insome cases, an authorized dealer may be able to access and/or retrievedata stored in the private partition if the user presents suitablecredentials.

The decision component may receive a second credential, e.g., a secondtry by the user to fulfill the credential requirement. However, thedecision component may refuse to authenticate a received credential,such as if the user submits a predetermined number of inauthenticcredentials. For example, the controller may maintain a credentialattempt count. After a predetermined number of inauthentic credentials,the USB flash drive may deny access to the private partition in anysuitable manner.

The USB flash drive may request a credential to access the privatepartition from time to time or after a predetermined event. For example,to maintain access to the private partition, the controller may requirethe user to re-present a credential after a pre-determined amount oftime has passed, whenever there is a power cycle to the USB flash drive,whenever the host computer system engages a screen saver, whenever thehost computer system is put to ‘sleep’ or ‘placed on standby’, wheneverthe user ‘logs off’ the host computer system, or any other suitableevent. In another example, the USB flash drive may include one or moreselectors 130, such as a lock selector 135, which when activated maylock the private partition such that an authentic credential must bepresented before further access is allowed. Accordingly, to access theprivate partition after the predetermined time and/or event, the usermay be required to present a credential to be re-authenticated, such asby the decision component.

One example method 300 of authenticating a credential in a USB flashdevice is illustrated in FIG. 3 with reference to the example USB flashdrive of FIG. 1. Initially, data is stored 310 in a private partition ofthe nonvolatile computer readable medium of the USB flash drive 100shown in FIG. 1. The private partition may be any portion of thecomputer readable medium 112, such as a predetermined amount of memorystorage, one or more particular files and/or documents, all of theavailable memory storage of the computer readable medium, and any othersuitable portion. The user may request 312 data stored in the privatepartition. For example, the user may select a ‘view private partition’selector and in response, a user interface dialog may request acredential from the user. In another example, presentation of acredential may automatically request access to the private partition. Ineither case, the user may present a credential, which is received 314 byhost computer and/or USB flash drive, as noted above. The credential maythen be authenticated 316, such as by a decision component of the hostcomputer system and/or the USB flash drive. If the credential isauthenticated 318, access to the private partition may be allowed 320,such as by exposing and/or decrypting the data stored in the privatepartition. If the credential is not authentic, the user may be able topresent an additional credential to be authenticated. In this case, thecredential attempt count may be increased 324, such as by the hostcomputer system and/or USB flash drive controller. The credentialattempt count may then be compared 326 to a predetermined value todetermine if further action should be taken. For example, if thecredential attempt count is below a predetermined value, furthercredentials may be received and authenticated. However, if thecredential attempt count exceeds or equals a predetermined value,further attempts to authenticate a credential maybe denied 322. Accessto the private partition may be denied by maintaining hiding orencryption of the private partition, burning a fuse to the privatepartition, refusing to receive and/or authenticate additionalcredentials, and/or in any other suitable manner. In some cases, denialof receiving credentials to be authenticated may be maintained until apredetermined event occurs. For example, the predetermined event may bethe expiration of a period of time, the USB flash drive is connected toa predetermined host computer system, the USB flash drive is released byan authorized dealer, or any other suitable event.

As noted above, a USB device typically derives power for operationthrough the direct physical attachment of the USB connector 106 to theUSB port 104 of the host computer system 102. To allow the USB flashdrive 100 to function, such as to transfer data, separated from a hostcomputer system 102, the USB flash drive may include a power supply 126,independent of an the USB connector 106, to provide power to one or morecomponents of the USB flash drive. For example, as shown in FIG. 1, thepower supply may provide power to the controller 110, the computerreadable medium 112, the transmitter 122, the receiver 124, theselectors 130, firmware 120, and/or the decision component 140. Anysuitable power supply 126 may be used as appropriate in the USB flashdrive 100 including any combination of a battery, a solar power system,a piezoelectric system, a power system energized by an externalfrequency or magnetic field including those similar to radio frequencyidentification systems, and the like. For example, the USB flash drive100 may include a power supply 126 including a battery which may berecharged from time to time by power derived from host computer system102 through the USB connector and/or a solar power supply such as solarcells. In this manner, the USB flash drive may derive power from thehost computer 102 when the USB connector is physically attached to theUSB port and may also operate separated from the host computer 102.Accordingly, the USB flash drive may transmit data from the nonvolatilecomputer medium 112 to an external device without a host computer systemattachment. Similarly, the USB flash drive may receive and authenticatea credential to access a private partition without a direct attachmentto a host computer system. Similarly, any USB device may provide itsintended function and/or operation without a physical attachment to ahost computer system.

FIGS. 4-7 illustrate various combinations of the elements describedabove, where like reference numbers represent like elements. Forexample, FIG. 4 illustrates a USB flash drive 400. The USB flash drive400 may include a USB connector 106 connectable with a USB port of ahost computer system 104, a controller 110, firmware 120, a USBinterface 108, and a computer readable medium interface 118. The USBflash drive may also include a nonvolatile computer readable mediumwhich may include one or more flash memories 114, 116. The USB flashdrive may include a transmitter 122 which may transmit data from thecomputer readable medium 112 to an external device 150. The data may betransmitted by the transmitter directly, compressed, wirelessly, and/orover a modulated data signal designed to encode digital information. TheUSB flash drive may also include one or more selectors which may includea transmission initiation selector 134 and/or a data indicator 138. TheUSB flash drive 400 may include a power supply 126 providing power toone or more components of the USB flash drive. In this manner, a usermay receive a data transfer and store the received data in the flashmemory without requiring a connection of the USB connector 106 to theUSB port 104.

FIG. 5 illustrates a USB flash drive 500. The USB flash drive 500 mayinclude a USB connector 106 connectable with a USB port of a hostcomputer system 104, a controller 110, firmware 120, a USB interface108, and a computer readable medium interface 118. The USB flash drivemay also include a nonvolatile computer readable medium which mayinclude one or more flash memories 114, 116. The USB flash drive mayinclude a receiver 124 which may receive data from an external device150 apart from the USB connector 106. The data may be received by thereceiver 124 directly, compressed, wirelessly, and/or over a modulateddata signal designed to encode digital information. The USB flash drivemay also include one or more selectors 130.

FIG. 6 illustrates a USB device 600 which may be any type of USBcompatible device such as a consumer electronic device, a printer, ascanner, a memory device, and the like. The USB device 600 may include aUSB connector 106 connectable with a USB port of a host computer system104, a controller 110, firmware 120, and a USB interface 108. The USBdevice 600 may include one or more selectors 130 such as keys 132, whichmay allow a user to present a credential such as a password or othercredential to the USB device without having to interface through thehost computer system 102. The received credential may be authenticatedby the decision component 140 of the USB device. If the credential isauthenticated, a function and/or operation of the USB device may beallowed. For example, memory may be accessed, memory read and/or writeprivileges may be granted, printer functions may be accessed, and/or thelike. The USB device 600 may also include a lock selector 135 whichallows a user to reset a lock, requiring a user to re-present a validcredential to access the locked function and/or operation. The USBdevice 600 may include a power supply 126 providing power to one or morecomponents of the USB device. In this manner, a user may provide acredential, authenticate a credential, and/or provide a function and/oroperation of the USB device without requiring a connection of the USBconnector 106 to the USB port 104 of a host computer system.

FIG. 7 illustrates a USB device 700 which may be any type of USBcompatible device such as a consumer electronic device, a printer, ascanner, a memory device, and the like. The USB device 700 may include aUSB connector 106 connectable with a USB port of a host computer system104, a controller 110, firmware 120, and a USB interface 108. The USBdevice 600 may include one or more selectors 130. The USB device 700 mayinclude a power supply 126 providing power to one or more components ofthe USB device. In this manner, the USB device may provide a functionand/or an operation of the USB device without requiring a connection ofthe USB connector 106 to the USB port 104 of a host computer system. Inone example, the power supply 126 may be charged with power receivedthrough a connection of the USB connector with a USB port of a hostcomputer system.

USB devices 600, 700 may include a variety of computer readable media.Computer readable media can be any available media that can be accessedby a controller of the USB device and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer readable media may comprise computerstorage media and communication media. Computer storage media includesboth volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer readable instructions, data structures, program modules, orother data. Computer storage media includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the controller of the USB device.

The drives and their associated computer storage media discussed aboveand illustrated in FIGS. 1, 4, 5, 6, and 7 provide storage of computerreadable instructions data structures, program modules and other datafor the USB device.

Having now described some illustrative embodiments of the invention, itshould be apparent to those skilled in the art that the foregoing ismerely illustrative and not limiting, having been presented by way ofexample only. Numerous modifications and other illustrative embodimentsare within the scope of one of ordinary skill in the art and arecontemplated as falling within the scope of the invention. Inparticular, although many of the examples presented herein involvespecific combinations of method operations or system elements, it shouldbe understood that those operations and those elements may be combinedin other ways to accomplish the same objectives. Operations, elements,and features discussed only in connection with one embodiment are notintended to be excluded from a similar role in other embodiments.Moreover, use of ordinal terms such as “first” and “second” in theclaims to modify a claim element does not by itself connote anypriority, precedence, or order of one claim element over another or thetemporal order in which operations of a method are performed, but areused merely as labels to distinguish one claim element having a certainname from another element having a same name (but for use of the ordinalterm) to distinguish the claim elements.

1. A Universal Serial Bus (USB) flash drive comprising: (a) a controllerincluding a USB interface and a nonvolatile computer readable mediuminterface; (b) a nonvolatile computer readable medium in communicationwith the nonvolatile computer readable medium interface and storingdata; (c) a USB connector in communication with the USB interface; and(d) a transmitter for transmitting at least a portion of data from thenonvolatile computer readable medium to an external device external tothe USB flash drive, the transmitter being substantially simultaneouslyoperable with the USB connector.
 2. The USB flash drive of claim 1,wherein the transmitter constructed and adapted to transmit at least aportion of data wirelessly to the external device.
 3. The USB flashdrive of claim 1, wherein the transmitter includes an infraredtransmitter compatible with Infrared Data Association (IrDA) standards.4. The USB flash drive of claim 1, wherein the controller is constructedand adapted to compress at least a portion of the data from thenonvolatile computer readable medium to form the at least a portion ofthe data to be transmitted.
 5. The USB flash drive of claim 1, furthercomprising a power supply suitable for providing power to thecontroller, the nonvolatile computer readable medium, and thetransmitter.
 6. The USB flash drive of claim 1, further comprising areceiver for receiving a data transmission from the external device, thereceiver being simultaneously operable with the USB port.
 7. The USBflash drive of claim 6, further comprising a transceiver including thetransmitter and the receiver.
 8. The USB flash drive of claim 7, whereinthe transceiver includes a USB port constructed and adapted tophysically connect with a USB connector of the external device.
 9. TheUSB flash drive of claim 8, further comprising a transmission directionindicator for selecting a direction of data flow when transmission isinitiated.
 10. The USB flash drive of claim 1, wherein the transmitterin communication with the controller is constructed and adapted toencode at least a portion of data to form a modulated data signal fortransmission to the external device.
 11. The USB flash drive of claim 1,further comprising a transmission initiation selector for activating thetransmitter to transmit the at least a portion of data.
 12. The USBflash drive of claim 1, wherein the at least a portion of data ispredetermined.
 13. The USB flash drive of claim 12, wherein thenonvolatile computer readable medium is partitioned into at least afirst partition and a second partition, and the predetermined portion ofdata includes the first partition.
 14. The USB flash drive of claim 1,further comprising a transmission data selector for selecting the atleast a portion of data to be transmitted.
 15. The USB flash drive ofclaim 1, wherein the nonvolatile computer readable medium is partitionedinto at least a public partition and a private partition, the USB flashdrive further comprising a decision component for authenticating acredential and in communication with the controller for allowing accessto the private partition only if the credential is authentic.
 16. Amethod for communication between a first device and a Universal SerialBus (USB) device, the method comprising: (a) providing the USB deviceincluding a USB connector, a transmitter, and a computer readablemedium; (b) compressing at least a portion of data from the computerreadable medium to form compressed data; (c) sending the compressed datato the first device through the transmitter; and (d) receiving thecompressed data at the first device.
 17. The method of claim 16, whereinsending includes wirelessly sending the compressed data to the firstdevice.
 18. The method of claim 17, wherein the transmitter includes aninfrared transmitter, the method further comprising formatting thecompressed data to be compatible with Infrared Data Association (IrDA)standards.
 19. The method of claim 16, wherein the transmitter includesa USB port constructed and adapted to physically connect to a USBconnector of the first device, the method further comprising formattingthe compressed data to be compatible with USB protocol standards. 20.The method of claim 16, further comprising initiating sending with atransmission initiation selector of the USB device.
 21. The method ofclaim 16, further comprising receiving a transmission initiationindication from a host computer connected to the USB connector of theUSB device.
 22. The method of claim 16, further comprising formattingthe compressed data to form a modulated data signal representing thecompressed data.
 23. The method of claim 16, wherein the USB deviceincludes a receiver, the method further comprising receiving a portionof data from the first device through the receiver.
 24. The method ofclaim 16, wherein the USB device includes a data indicator, the methodfurther comprising selecting the at least a portion of data with thedata indicator.
 25. The method of claim 16, further comprising receivingfrom a host computer system connected to the USB connector of the USBdevice, an indication of the at least a portion of data to becompressed.
 26. The method of claim 16, wherein the USB device is a USBflash drive.
 27. A Universal Serial Bus (USB) flash drive comprising:(a) a controller including a USB interface and a nonvolatile computerreadable medium interface; (b) a nonvolatile computer readable medium incommunication with the nonvolatile computer readable medium interfaceand storing data; (c) a USB connector in communication with the USBinterface; and (d) a transmitter for transmitting a modulated datasignal representing at least a portion of data from the nonvolatilecomputer readable medium to an external device external to the USB flashdrive.
 28. The USB flash drive of claim 27, wherein the transmitter isconstructed and adapted to transmit the modulated data signal wirelesslyto the external device.
 29. The USB flash drive of claim 27, wherein thetransmitter includes an infrared transmitter, and the modulated datasignal is compatible with Infrared Data Association (IrDA) standards.30. The USB flash drive of claim 27, wherein the controller isconstructed and adapted to compress the data from the nonvolatilecomputer readable medium to form the at least a portion of the datarepresented by the modulated data signal.
 31. The USB flash drive ofclaim 27, further comprising a power supply suitable for providing powerto the controller, the nonvolatile computer readable medium, and thetransmitter.
 32. The USB flash drive of claim 27, further comprising areceiver for receiving a data transmission from the external device. 33.The USB flash drive of claim 32, wherein the receiver includes a USBport constructed and adapted to physically connect with a USB connectorof the external device.
 34. The USB flash drive of claim 33, furthercomprising a transmission direction selector for selecting a directionof data flow when transmission is initiated.
 35. The USB flash drive ofclaim 27, further comprising a transmission initiation selector foractivating the transmitter to transmit the modulated data signal. 36.The USB flash drive of claim 27, wherein the at least a portion of datais predetermined.
 37. The USB flash drive of claim 36, wherein thenonvolatile computer readable medium is partitioned into at least afirst partition and a second partition, and the predetermined portion ofdata includes the first partition.
 38. The USB flash drive of claim 27,further comprising a transmission data selector for selecting the atleast a portion of data to be transmitted.
 39. The USB flash drive ofclaim 27, wherein the nonvolatile computer readable medium ispartitioned into at least a public partition and a private partition,the USB flash drive further comprising a decision component forauthenticating a credential and in communication with the controller forallowing access to the private partition only if the credential isauthentic.